/* ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*
* AION - sterownik czasowo temperaturowy
* http://code.google.com/p/aions
*
* Copyright (C) 2014 Piotr Murawski
*
* Niniejszy program jest wolnym oprogramowaniem; mozesz go
* rozprowadzac dalej i/lub modyfikowac na warunkach Powszechnej
* Licencji Publicznej GNU, wydanej przez Fundacje Wolnego
* Oprogramowania - wedlug wersji 3-ciej tej Licencji lub którejs
* z pozniejszych wersji.
*
* Autor, NIE UDZIELA zgody na wykorzystanie, calosci lub jakiej
* kolwiek czesci niniejszego oprogramowania, czy to w postaci
* kodu zrodlowego czy tez, bibliotek, plikow wykonywalnych czy tez
* innej formy pochodnej plikow zrodlowych do CELOW KOMERCYJNYCH.
*
* Niniejszy program rozpowszechniany jest z nadzieja iz bedzie on
* uzyteczny - jednak BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyslnej
* gwarancji PRZYDATNOSCI HANDLOWEJ albo PRZYDATNOSCI DO OKRESLONYCH
* ZASTOSOWAN. W celu uzyskania blizszych informacji - Powszechna
* Licencja Publiczna GNU.
*
* Z pewnoscia wraz z niniejszym programem otrzymales tez egzemplarz
* Powszechnej Licencji Publicznej GNU (GNU General Public License);
* jesli nie - napisz do Free Software Foundation, Inc., 675 Mass Ave,
* Cambridge, MA 02139, USA.
*
* Powszechna Licencja GNU znajduje sie w zalaczonym pliku:
* Licencja.txt
*
* Powszechna Licencja GNU dostepna jest rowniez na stronie:
* http://www.gnu.org/licenses/licenses.html
*
* nieoficjalne polskie tlumaczenie na
* http://www.gnu.org.pl
*
* ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*
* AION - time temperature controller
* http://code.google.com/p/aions
*
* Copyright (C) 2014 Piotr Murawski
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Autor, doea not allow to use this software, as whole or in parts, in form 
* of source code or compiled code for COMMERCIAL USE.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*/


        .include "arm.inc"



#---------------------------------------------------------------
# Module Read routine - FIQ Code
#---------------------------------------------------------------
        .globl  FIQHandler
        .extern  PHAS_PhaseRegFiq
        .extern  vPortYieldProcessor

	.text
.section .mod_read_code,"ax"
	.code 32
	.align  0

  #-------------------------------------------------------------
  # FIQ handler, serves the only FIQ in the system
  # that is sampling timer
  #-------------------------------------------------------------
FIQHandler:
MODRD_Fiq:
        #-------------------------
        # put on the stack some regs
        # r0-f7 and lr needs to be saved
        # other registers are FIQ banked
        #-------------------------
        SUB    lr,lr,#4
        STMFD  sp!,{r0-r7,lr}

        BL     PHAS_PhaseRegFiq

        #-------------------------
        #return from the interrupt
        #-------------------------
        LDMFD  sp!,{r0-r7,pc}^

        NOP
        NOP



